package com.company.ljh.medium;

import java.util.ArrayList;
import java.util.HashSet;

/**
 * @description:
 * 334. 递增的三元子序列
 * 中等
 * 722
 * 相关企业
 * 给你一个整数数组 nums ，判断这个数组中是否存在长度为 3 的递增子序列。
 *
 * 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ，使得 nums[i] < nums[j] < nums[k] ，返回 true ；否则，返回 false 。
 * @projectName:leet_code
 * @see:com.company.ljh.medium
 * @author:ljh
 * @createTime:2023/6/30 15:46
 * @version:1.0
 */
public class 递增的三元子序列 {
    public static boolean increasingTriplet(int[] nums) {
        HashSet set = new HashSet();
        for(int i =0; i< nums.length;){
            int size = 1;
            int min = -1;
            int next = nums.length;
            for(int n = i+1;n<nums.length;n++){
                if(nums[n] <= nums[i]){
                    if(nums[n] != nums[i]&&next == nums.length){
                        next = n;
                    }
                    continue;
                }
                if(min == -1){
                    size++;
                    min = nums[n];
                }else if(nums[n] <= min){
                    min = nums[n];
                }else{
                    size++;
                }
                if(size >= 3){
                    return true;
                }
            }
            i = next;
        }
        return false;
    }

    public static void main(String[] args) {
        int[] nums = new int[]{2,1,5,0,4,6};
        increasingTriplet(nums);
    }
}
